//在user.js 路由器文件中创建路由器对象，添加用户注册的路由器(post  /register),响应‘注册成功’导出路由器，在app.js文件中引入路由器（./router/user.js）,将路由器挂载到服务器下，添加前缀 /UserDataHandler
const express = require('express');
//引入连接池模块
const pool = require('../pool.js');
//创建路由器对象
const r = express.Router();
//添加用户注册的路由器 （post  /register）

r.post('/register', (req, res) => {
	//1.1获取post请求
	let obj = req.body;
	//1.2验证各项数据是否为空
	if (!obj.phone) {
		res.send({
			code: 401,
			msg: 'phone required'
		});
		return;
	}
	if (!obj.upwd) {
		res.send({
			code: 402,
			msg: 'upwd required'
		});
		return;
	}

	//验证手机号是否已存在数据库
	pool.query('select * from user where phone=?',[obj.phone],(err,result)=>{
		if(err) throw err;
		if(result.length!==0){
					res.send({code:201,msg:"phone exist"});
				}else{
					//设置默认用户名为手机号
					obj.uname=obj.phone;
					//执行sql插入指令
					pool.query('insert into user set ?', [obj], (err, result) => {
						if (err) throw err;
						//成功
						res.send({code: 200,msg: 'reg suc'});
					});			
				}
	});
});
	
//2.用户登录 （post  /login）
	r.post('/login', (req, res) => {
		//2.1 获取post请求的数据
		let obj = req.body;
		//2.2 验证各项数据是否为空
		if (!obj.uname) {
			res.send({
				code: 401,
				msg: 'uname required'
			});
			return;
		}
		if (!obj.upwd) {
			res.send({
				code: 402,
				msg: 'upwd required'
			});
			return;
		}
	
		//2.3执行SQL命令 
		pool.query('select * from user where upwd=? and (phone=? or email=?)', [obj.upwd, obj.uname,obj.uname], (err, result) => {
			if (err) throw err;
			//根据结果判断是否登录成功
			//如果是空数组说明登录失败，否则登录成功
			if (result.length === 0) {
				res.send({
					code: 301,
					msg: 'login err'
				});
			} else {
				res.send({
					code: 200,
					msg: 'login suc'
				});
			}
		});
	});

//导出路由器对象
module.exports = r;